package com.whfc.ms.api.mach.service;


import com.whfc.common.result.ListData;
import com.whfc.common.result.PageData;
import com.whfc.fuum.dto.SysMachListDTO;
import com.whfc.fuum.dto.SysMachTypeDTO;
import com.whfc.fuum.param.SysMachTypeAddParam;
import com.whfc.fuum.param.SysMachTypeClassifyAddParam;
import com.whfc.fuum.param.SysMachTypeClassifyEditParam;
import com.whfc.fuum.param.SysMachTypeEditParam;

/**
 * @ClasssName MsMachTypeService
 * @Description 系统管理-设备类型接口类
 * @Author hw
 * @Date 2020/8/24 20:24
 * @Version 1.0
 */
public interface MsMachTypeService {


    /**
     * 添加设备类型
     *
     * @param param
     * @return
     * @author hw
     * @date 2020/8/24 20:27
     **/
    void machTypeAdd(SysMachTypeAddParam param);

    /**
     * 添加设备分类
     *
     * @param param
     * @return
     * @author hw
     * @date 2020/8/24 20:27
     **/
    void machTypeClassifyAdd(SysMachTypeClassifyAddParam param);

    /**
     * 修改设备类型
     *
     * @param param
     * @return
     * @author hw
     * @date 2020/8/24 20:27
     **/
    void machTypeEdit(SysMachTypeEditParam param);

    /**
     * 修改设备分类
     *
     * @param param
     * @return
     * @author hw
     * @date 2020/8/24 20:27
     **/
    void machTypeClassifyEdit(SysMachTypeClassifyEditParam param);

    /**
     * 查询设备类型列表
     *
     * @param machTypeId
     * @param pageNum
     * @param pageSize
     * @param keyword
     * @return
     */
    PageData<SysMachTypeDTO> machTypeList(Integer machTypeId, Integer pageNum, Integer pageSize, String keyword,Integer state);

    /**
     * 查询设备分类列表
     *
     * @param keyword
     * @return
     */
    ListData<SysMachTypeDTO> machTypeClassifyList(String keyword);

    /**
     * 删除问题类别
     *
     * @param machTypeId
     * @return
     * @author hw
     * @date 2020/8/25 9:07
     **/
    void machTypeDel(Integer machTypeId);

    /**
     * 设置为失效或启动
     *
     * @param machTypeId
     * @param state
     * @return
     * @author hw
     * @date 2020/8/25 9:07
     **/
    void enable(Integer machTypeId, Integer state);

    /**
     * 获取设备类型树
     *
     * @param
     * @return
     * @author hw
     * @date 2020/8/31 18:38
     **/
    ListData<SysMachListDTO> machLists(Integer pid);

}
